"""

    注释 ： 解释说明

    开发思路：
        1、使用程序访问数据地址获取数据
            携带请求头与参数
        2、从数据中提取PDF的名称与半截地址
        3、将半截地址进行拼接得到一个完整的地址
        4、访问PDF地址获取内容并下载

    手动复制

    # 适合已经明确了具体的个数
    for i in range(范围)

    # 适合不明确具体的个数
    for i in 容器

    知识点 乱 --》 结合场景分析  死记硬背

    学技术不就是为了搞钱 --》 搞钱

        学习技术一定要结合业务场景
            解决业务场景中的问题才能创造价值（搞钱） 颅内高潮

            明确需求 --》 场景 商业分析 --》 15w 利用数据还原真相，基于真相去解决问题

            猜想 --》 不等于事实   垃圾  企业内训 --》 大厂 --》 企业内部员工培养

            JX --》 大数据内训  --》 一周 12w  --》 ACE认证

            搞钱 --》 认知（找工作，发展，搞钱）--》 工作室  2年多时间 --》 接单流水 3000多万

            副业兼职 --》 发展

            先副业兼职积累项目实战经验，然后骑驴看马寻找机会

                我觉得我的行业没有发展    猜想，事实

                    30 - 40 岁左右

                    中年危机 --》 行业没有发展

                    思想危机

                    数字化转行 --》 技术为行业赋能  30w+

                    提升自己的核心价值

                    大学 兼职 --》 20 一天

                    模型 --》 4500 --》

                    技术 --》 二维码 --》 2000 --》

                    水泥 --》 --》 水泥厂  数据 --》 水泥生产结果

                    想要搞钱首先必须要利用技术创造价值







"""
# 导入工具库
import requests

# 定义一个网址
url = "http://www.cninfo.com.cn/new/hisAnnouncement/query"

# 请求头
headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'Cookie': 'JSESSIONID=15C39A8240B0F5746A09A009C1A20DB1; insert_cookie=45380249; _sp_ses.2141=*; routeId=.uc1; cninfo_user_browse=600811,gssh0600811,%E4%B8%9C%E6%96%B9%E9%9B%86%E5%9B%A2|002930,gfbj0834337,%E5%AE%8F%E5%B7%9D%E6%99%BA%E6%85%A7|600358,gssh0600358,%E5%9B%BD%E6%97%85%E8%81%94%E5%90%88|002182,9900003827,%E4%BA%91%E6%B5%B7%E9%87%91%E5%B1%9E|688180,gfbj0833330,%E5%90%9B%E5%AE%9E%E7%94%9F%E7%89%A9; SID=e44bf635-1cd6-4a76-9d62-68adef5a64e7; _sp_id.2141=c9316fbf-c732-4735-b01c-bab3266eed68.1680242676.6.1688558490.1688388001.93a3bbe9-896f-483a-be5d-8195a5f17c32',
    'Origin': 'http://www.cninfo.com.cn',
    'Pragma': 'no-cache',
    'Proxy-Connection': 'keep-alive',
    'Referer': 'http://www.cninfo.com.cn/new/disclosure/stock?stockCode=600811&orgId=gssh0600811',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
}

# 参数
data = {
    'stock': '600811,gssh0600811',
    'tabName': 'fulltext',
    'pageSize': '30',
    'pageNum': '1',
    'column': 'sse',
    'category': 'category_ndbg_szsh;',
    'plate': 'sh',
    'seDate': '',
    'searchkey': '',
    'secid': '',
    'sortName': '',
    'sortType': '',
    'isHLtitle': 'true',
}

# 访问地址获取数据
resp = requests.post(url, headers=headers, data=data).json()

# 提取PDF的地址和名称
for i in resp['announcements']:
    pdf_url = "http://static.cninfo.com.cn/"+i['adjunctUrl']
    pdf_name = i['announcementTitle']
    # 访问PDF地址获取内容
    pdf_content = requests.get(pdf_url, headers=headers).content
    # 下载PDF 非纯文本数据统一使用二进制数据存储
    with open(f'./{pdf_name}.pdf', 'wb') as file:
        # 指定保存的内容
        file.write(pdf_content)

    # 输出看一下数据
    print(pdf_name, pdf_url)



